Field
The disclosed embodiments relate to techniques for facilitating the execution of virtualization software on computer systems. More specifically, the disclosed embodiments relate to techniques for configuring hardware on the computer systems based on the compatibility of the hardware with the virtualization software.
Related Art
Virtual machines may be used to extend the functionality and portability of computing environments. For example, a virtual machine containing a guest operating system may be executed from any computer with a compatible hypervisor for the virtual machine. The self-contained nature of the virtual machine may also facilitate the efficient copying and transfer of the virtual machine between multiple devices, including personal computers, servers, and portable storage devices.
Ease of deployment and portability may further be facilitated through the central management and local execution of virtual machines. An example of a central management solution for locally executed virtual machines may include the MokaFive Server, BareMetal Player and Creator products offered by MokaFive (moka5, Inc. a Delaware corporation). In particular, a virtual machine may be centrally defined and managed using the MokaFive Server. Any computer containing the BareMetal Player may then download an image of the virtual machine from the MokaFive Server and run the virtual machine within the BareMetal Player. Changes made to the virtual machine from the computer may be backed up on the MokaFive Server so that subsequent execution of the virtual machine from other computers may include the changes. Similarly, updates to the virtual machine may be administered by the MokaFive Server and automatically included in the virtual machine image so that subsequent use of the virtual machine includes the updates.
However, hypervisors such as the BareMetal Player may be installed on computer systems containing a variety of processors, memory devices, storage devices, peripheral components, and/or other hardware components. In turn, variations in the manufacturers, models, firmware versions, and/or hardware versions of the components may cause some of the components to experience limited and/or no functionality with the hypervisor. To mitigate compatibility issues with the hardware components, tests may be run on the hardware components during installation and/or use of the hypervisor. A database of compatibility reports may also be maintained to facilitate identification of potential hardware compatibility issues with the hypervisor. Any issues found may then be mitigated by updating the hypervisor software and/or performing actions recommended in the compatibility reports.
Consequently, use of hypervisors and/or other virtualization software with hardware components may be facilitated by mechanisms for identifying, diagnosing, and/or resolving compatibility issues between the virtualization software and the hardware components.